Search Results: "iustin"

16 January 2014

Iustin Pop: What's in a community?

I haven't been doing Debian work for a while now, due to various reasons. However, I try to keep reading (but not posting to) the mailing list, such as to keep in touch (in a virtual way). What surprises me is how the community evolves: in some ways not at all (was there an init-system flamewar this week already or not?), in some ways a lot (mailing list bans!). Since I don't post to the mailing lists, consider this post as my +1 towards the listmaster's work: yes, we should limit the damage that abusive people do to the project. I'm surprised at how some people call list bans as censorship (it's not, IMHO), and how they treat abuse as something light. Another thing that surprises me is how abuse and arrogance go hand in hand. In the explanations for bans, I've seen not just one example where the abusive person is not only, well, abusive, but also considers themselves superior (morally, technically, etc.). If you're already so much superior, why hit on people? If you already know so much, why the personal attacks? And no, being immature is not the whole or even the only explanation This page has a nice collection of quotes around the same motive: how you treat other people, especially people whom you regard less knowledgeable than you, tells a lot about your character. One quote is nice in how succinct and how applicable it is to the kind of abuse I've seen:
To insult or to abuse those who cannot resist, or dare not resent the injury, is a sure mark of cowardice, [ ].
From 1852 September 30, Farmer s Cabinet, Courtesy to Inferiors, Page 1, Column 2, Volume 51, Number 8, Amherst, New Hampshire. The rest of the quote also contains a somewhat sexist remark, so I've left that part out (but I'm surprised they still talked about swords in the 1850s). And yes, I hope that this spring I'll be able to get back to my Debian work.

24 December 2013

Iustin Pop: Got my Christmas present!

Someone made my day today. On Friday, I bought something online, hoping that it gets delivered before Christmas. It wasn't something extraordinary, just some paper (no, I'm not joking). This should have arrived on Monday if shipped by PostPac Priority, but it didn't, so I assumed it was Economy, so arriving "sometime". On Sunday, knowing that it's already quite late, I made another (online) order, at a webshop that normally (i.e. not during holidays) delivers the next day. Not something too extraordinary again, some more paper (A3+ size this time ) and a gadget. After ordering, I saw the Swiss post website with "latest time to ship packages so that they arrive before Christmas". At that moment I realised I was too late, and that I won't get my present(s) in time. Today, I waited at home until about noon knowing that it's unlikely that I'll get my packages, but still hoping; nothing arrived, so I went into the city to do some errands. When I arrived home around 4 o'clock, there was nothing in my mailbox, and no notice that my delivery was attempted and that I need to pick up things at the post office. At this moment, I had to give up, but I was a bit down, just like a little boy who was told no present this time. I was hoping that I get at least one package, so I was double disappointed, to say so (spoiled much? first world problem as well, I know, but this post is not about that). As I got up the stairs, and reaching the door to the apartment, surprise! Not one, but both packages were waiting for me at the door. This happens very, very rarely - normally, I just get the "delivery failed" notice, and I pick the package up next day at the post office. Today, the postman was very nice. Dear postman: I don't know who you are, but you had a nice thought and made an effort so that I (a quite spoiled little boy) would get my presents in time. Thanks, and I hope someone gave you a nice present as well! And happy holidays (of whatever kind you celebrate) to everyone!

3 December 2013

Iustin Pop: A not so dark sky

I'm aware of how not-dark our modern city night sky is, but sometimes it still heavily surprises me how full of light it actually is. Yesterday I went about five kilometres out of Z rich; I thought at that distance, on a reasonably dark hill, it would be good enough for some night-sky shots. So I setup my tripod, only to realise I can't expose over 30 seconds because (at low ISO and fast aperture, shooting not straight up), everything is bleached out: I couldn't believe my eyes. Yes, I heard that one needs to go 100Km out of big cities, but but So I went and found that since about 2004, all of Switzerland is light polluted - even going on top of Jungfrau, for example, wouldn't completely eliminate it. I also learned about Merle Walker's equation - yeah, 200Km or more away from light sources would be good. Not here, in this quite small, quite populated country in the middle of Europe :/ I realised that as soon as my eyes got acclimated to the location I was at, I could easily see everything around me, due to the light pollution. I miss a really dark sky - I remember a couple of years back, in a different country, stopping at night on the side of the road, and being shocked at how the sky was filled with starts. I didn't have any camera with me at that time Heck, I remember seeing the Milky Way way back as a child, but nowadays when I get out of work, I can barely see 4-5 points of light in the sky. Anyway, enough with ranting Thanks to modern technology, one can recover lots of detail, even in a washed out picture. So in the end, shooting straight up, I could get some resemblance of structure (and this was only at 28mm, which is not that wide): Or alternatively, one can use the glowing light for a bit of play/contrast: I also played with stacking images via Deep Sky Stacker, but stacking - I learned to my surprise - only works to reduce noise in the final image, and not to make it "brighter" or more detailed. Live and learn The result was a bit better than not stacked, but not by much: This was a 25 5s, ISO 800, f/4, same 28mm lens. What I found surprising is the "non-star object" (to call it so) near the centre of the image - I have no idea what it is, it definitely doesn't look like a star, it could be an elliptical galaxy or so. I tried navigating back in time via Stellarium, but I don't remember the orientation of the lens, so it will remain a mystery to me. Anyway, two more pictures and higher resolutions on a Smugmug album. Feel free to leave a comment or drop me an email if you have suggestions where to take nice night sky photos in Switzerland

22 November 2013

Iustin Pop: Z rich at night

Last weekend I realised that one of the advantages of winter is that it gets dark quite early - so I took a short walk through Z rich at night to take a set of pictures. I usually only shoot handheld at night, which has its limitations, and this time I took a tripod with me. It's a very cheap tripod which I have for many years now and I don't really use - and the test was to see if it's actually usable for long exposures. The results can be seen on my Smugmug gallery. Some of the pictures I really like, but that's not the main point - I learned a lot in just an hour or so. First, the tripod worked. Well, it's cheap and plasticky, so "mirror delay 3" was absolutely needed, but with that the pictures got out reasonably sharp, even at 30s exposure. Second, I forgot my cable release at home, even though I explicitly wanted to take it, so "mirror delay 3" became my remote release. Logistics aside, the most interesting thing was that in the dark, the enemy is light, and not darkness. In the city, the contrast between darkness and strong lights results in a large dynamic range requirement, and - to me - that was a surprising realisation. As an example, in this picture, I had to use f/22 to get the desired exposure time, as the light was too strong. Another surprising realisation was that, if you're shooting with 30s exposure time, a person passing in front of the camera (but not staying in the same place) will leave no trace. At shorter exposures, or when the person has a low transversal speed, then it will show, but otherwise, you don't have to care too much . Something that I knew but it was not nice to be reminded of is how "broken" auto white balance is in presence of artificial lighting (basically low temperature). Add the fact that in a non-trivial scene you have multiple lights with different temperatures makes any night scene interesting - I had to manually fix white balance for the entire album, and I don't think I got it right. And finally - light pollution. The sky above Z rich was cloudy, and the clouds were glowing orange/reddish. I can't wait to get somewhere a bit far from civilisation with a nice, dark sky

14 May 2013

Iustin Pop: no-reply@

I had the surprise of seeing this at the bottom of the confirmation email when I ordered something online:
Bei Fragen zu deiner Bestellung antworte bitte auf diese E-Mail.
In translation: If you have questions about your order, please reply to this e-mail . Wow. Someone out there still reads email. The address pointed helpfully to info@ instead of the usual no-reply@ . I am really surprised.

14 March 2013

Iustin Pop: Types as control flow constructs

A bug I've recently seen in production code gave me the idea for this blog post. Probably smarter people already wrote better things on this topic, so this is mostly for myself, to better summarise my own thoughts. Corrections are welcome, please leave a comment! Let's say we have a somewhat standard API in Python or C++: Signalling failures to initialise the object can be done in two ways: either by raising an exception, or by returning a null/None result. There are advantages and disadvantages to both: The None model can create latent bugs, for example in the following code:
ok = True
for arg in input_list:
  t = init_t(arg)
  if t is None:
    ok = False
    continue
  t.process()
return ok
The presence of the continue statement there is critical. Removing it, or moving it after some other statements which work with t will result in a bug. So using value-based returns forces us to introduce (manually) control points, without having the possibility to validate the model by the compiler (e.g. in C++). So it would seem that this kind of latent bugs pushes us to use the exception model, with its drawbacks. Let's look at how this interface would be implemented in (IMHO) idiomatic Haskell (where the a and b types represent the input and output types):
initT :: a -> Maybe T
processT :: T -> b
my_fn =
  
 case initT arg of
   Nothing -> -- handle failure
   Just v -> processT v
Yes, this can be written better, but it's beside the main point. The main point is that by introducing a wrapper type around our main type (T), we are forced via the type system to handle the failure case. We can't simply pass the result of initT to a function which accepts T, because it won't type check. And, no matter what we do with the result value, there are no exceptions involved here, so we only have to think about types/values, and not control flow changes. In effect, types become automatically-validated control-flow instructions. Or so it looks to me . So using types properly, we can avoid the exception-vs-return-value debate, and have all advantages without the disadvantages of either. If that is the case, why isn't this technique used more in other languages? At least in statically typed languages, it would be possible to implement it (I believe), via a C++ template, for example. In Python, you can't actually apply it, as there's no static way of enforcing the correct decapsulation. I was very saddened to see that Google's Go language, which is quite recent, has many examples where initialisation functions return a tuple err, value = , separating the actual value from the error, making it not safer than Python. It might be that polymorphic types are not as easy to work with, or it might be the lack of pattern matching. In any case, I don't think this was the last time I've seen a null pointer dereference (or the equivalent AttributeError: 'NoneType' object has no attribute ). Sadly You can even go further in Haskell and introduce more control flow structure via wrapper types. Please bear another contrived example: an HTML form that gets some input data from the user, validates it, saves it to the database, and echoes it back to the user. Without types, you would have to perform these steps manually, and ensure they are kept in the correct order when doing future modifications. With types, you only have to design the types correctly and export only smart contructors (but not the plain ones):
module Foo ( ValidatedValue
           , validateValue
           , RecordId
           , CommittedValue
           , commitValue
           , buildFeedbackForm
           ) where
data ValidatedValue a = ValidatedValue a
validateValue :: a -> Maybe (ValidatedValue a)
data RecordId =  
data CommittedValue a = CommittedValue a RecordId
commitValue :: ValidatedValue a -> ComittedValue a
buildFeedbackForm :: CommittedValue a -> HTMLDoc
From these types, it follows more or less that the only correct workflow is:
  1. get a value from the user
  2. validate it
  3. commit it, getting a transaction/record ID
  4. send the response to the user
In other words:
handleFeedbackForm = buildFeedbackForm . commitValue . validateValue
There are still issues here, e.g. the type a is completely hidden behind the wrapper types, and we can't recover some basic properties (even if we use newtype, unless we use GeneralizedNewtypeDeriving). But it does offer a way to improve control flow safety. And that is my 0.02 currency unit for today.

21 February 2013

Iustin Pop: Old batteries are old

For a while, it looked to me like my bicycle's rear-light was somewhat dim. I supposed that the batteries might be getting low, but I was not sure. So, given that I have a multimeter, and that the internets give ~20% decrease in voltage as reasonable limit for a non-recheargable battery that is not "dead", I set to measure. The batteries are type N Battery (which were not as common as I hoped, at least not as common as either AA, AAA, D or C, all of which I could find at the nearby store, but not N). Battery "marked" voltage: 1.5V. New batteries (after I replaced them): 1.451V (good enough). My old batteries 1.041V. Ouch! That's ~30% decrease. No wonder I could stare in the light without problems :) With the new batteries in, it's a bit painful to look directly into the small light. In hindsight, 3 years of light (pun intended) use is more than reasonable. So note to self: test batteries more often, at least at the beginning of the cycling season.

15 February 2013

Iustin Pop: Garmin Montana

Garmin Montana notes Sometimes, I get waaay too excited about gadgets, and I have to share it. So, sorry, here it goes :) For some reason that is not very important, I was looking for a better solution for GPSes with maps. Side-note: if you ask why Android is not good enough , here's the story: last year, knowing that Google Maps supports caching (finally), I upgraded Maps, preloaded London, and went on a trip. Only to exit the Victoria underground station and to stare ~20 minutes in light rain at my phone, wondering why it doesn't get a fix. I gave up in the end, and used the cached maps for getting around. Later I learned the reason: Maps was not broken, but without data, Android can't get a lock easily; and more-over, the recent Maps update without GPS active even once afterwards, to do whatever it needed, meant I couldn't get a lock until back in Switzerland. Or, alternatively: while on a trip to Japan, it turns out that Google Maps caching is not supported there, probably because of rights over mapping data. So I had location, but only temporary cached maps (from the wifi in the hotels). Due to this kind of problems makes I consider Android maps a toy, so I wanted a GPS device with proper maps (on the device, not in the cloud), and with good GPS capabilities (no fancy A-GPS or anything, just plain good standalone GPS). Having had good experiences with the sport line of Garmin (but which doesn't have maps, so it's out of the question), I looked at Garmin. Many people complained about some things (same all over the place): The latter is something that jumped at me from many of the blogs/fora that I read; I like customisable power tools , not one-button mice. The other thing that I didn't really like was that most devices are very focused on a niche: the n vi line on automotive, the Zumo line on motorbikes, and the hand-held lines with some blurring of hiking/geocaching/etc. So no one-size fits all device Features! Customisation! That is, until I found out the Montana series. My my, I was blown. Both by the price (I couldn't believe how expensive it was, without maps!) and by the features. As it turns out, the Montana has different profiles , and it can act: That is for flexibility. As for performance/features: Now for the downsides. Being a multi-functional device, it's not as good as a dedicated one: But the small (for me) draw-backs aside, it's definitely not a dumbed-down device. It's the first device that I have which I feel it a bit too customisable . From completely changeable menus, to profiles that remember their maps selection, to many dashboards, to almost-programmable shortcuts (e.g. a shortcut to change profile, set destination to a given way point, reset the trip log, and turn track logging on) a bit overwhelming at first. Add the 3-axis compass, barometric altimeter, ANT+ support and you get a very powerful device. Software As to the software, yes it has some bugs - mainly that the device crashes sometimes (abruptly) if you play too much with the routes (didn't happen to me yet on the road , only when testing it at home). On the PC-side, Garmin's BaseCamp is nice, but doesn't hold a candle to Google Maps, for example, in terms of UI; I don't mean shininess, but simply how well the UI works. The most annoying thing is how it doesn't scale detail appropriately with the zoom level. But it works, and I can plan hikes offline, and upload both tracks and routes to it (this is important: it seems other recent Garmins can't replay tracks, only routes). And I can load many maps, and toggle them at will, etc. The many maps feature is not to be overlooked. I could have, for example, standard Garmin maps loaded, but just in case they're insuficiently detailed or out of date (hey, Navteq is slow ), I can also have Open Street Maps from two days ago. The routing is then done on the currently active maps, so you are not restricted to a single mapping provider. And of course you can also have custom POIs (Point of interest) on it. Bycicle use The bicycle mount is solid enough, so that on a rough roads it's held firmly. From my ~20 minute test this morning, a few things to note: Voice output By default, the unit can only beep, but if coupled via a 3.5" jack to headphones or via the automotive mount, it can properly speak; quality varies with voice, and whether it is TTS or not. I managed to find one voice (non-TTS) that sounds really well, but of course with less information, and one TTS voice that sounds OK-ish but gives full info. By full info , I mean the following: the behaviour of the various TTS voices is not consistent. For example, on a simulated route, various voices were saying the following: I don't know why these differences, or if they are consistent across routes. But I'll keep with voice E for now :) Summary So, sorry again for sounding like an ad (I don't have any relation with Garmin the company), but I find this device awesome - powerful, rugged, and working (so far) very well. I'm glad that there still exist companies who don't believe they know better than their customers, and instead offer you with a tool that you can make it work just like you want. Or almost ;-) Garmin's tag line: Big and Tough Goes anywhere, everywhere . I tend to agree :)

30 December 2012

Iustin Pop: Interesting tool of the day: ghc-gc-tune

Courtesy of a recent Google+ post/Stack overflow answer, I stumbled upon ghc-gc-tune, a simple but nice tool which generates interesting graphs for Haskell programs. What is does is quite trivial: iterate over a range of arena and heap sizes, and run a specified program with those RTS options, then generate a graph comparing the performance (by default cpu time) across the combinations of the values. Note that for newer GHC versions, you'll need to link with -rtsopts to allow for the -A/-H custom sizes. The reason I mention it is that the graphs it generates can be quite interesting. For one of the Ganeti programs, hspace, run with the command line ./hspace --simu p,20,1t,96g,16,1 --disk-template drbd, it generates this graph: runtime graph with trivial usage This picture, if I read it correctly, says that this program is actually well behaved (well, +RTS -s says "3 MB total memory in use" with default options), and that the optimum sizes actually relate to the (L1? L2?) cache size. But note that the maximum difference is only about ~1.6 . By changing the parameters to hspace and make it allocate more memory (./hspace --simu p,20,1t,128g,256,32 --disk-template plain --tiered=1g,128m,1, ~52MB reported by +RTS -s), the graph changes significantly: runtime graph with 50mb usage Now we have somewhat the opposite situation: very small arena sizes are detrimental (and by a big factor, 4.5 ), large arena/heap sizes are OK-ish, and the sweet spot is around 2-4MB arena size with heap sizes up to 4MB. Now maybe these particular examples were not very elightening (and they were definitely not well-conducted tests, etc.), but they should allow some intuition into how the program behaves. Plus, the tool can also generate other plots, for example peak memory usage.

28 October 2012

Iustin Pop: Open Source collaboration, 2012

I'm interrupting my blog silence (which was due to the fact that I didn't have anything interesting to say) to note two things: first, but less important, spammers are still active as ever - I had ~2K spam comments and another ~2K in pending moderation. And second, and the actual subject of this post, is how easy collaboration has become. In the last year or so (where ~so means since I last looked), GitHub has introduced a very nice collaboration work-flow: This is soo easy (what, 3-4 clicks?) that I expect it will increase trivial fix-ups against Open Source projects hosted on GitHub or other services with similar capabilities. I did in the past week two or three such trivial fixes myself; this is not much note that I'm not talking about code fixes; but still, it is something that I think will definitely improve many, many projects. The same way that Wikis made it easy to improve documentation sites, this could make it easier for end-users to improve upstream's project documentation, when stored in a VCS as opposed to a Wiki. Yay! On the other hand, I still have a few patches sent months ago to an upstream email address, since they don't have a issue tracker (not even speaking about a place to submit merge requests). These will probably languish and disappear, as opposed to visible/public "hey, this is a patch to fix tiny typo in File.hs!". Yes, I like this a lot. Now, if only all projects would have a public VCS and issue tracker :) PS: yes, I'm talking here about GitHub, which is not Open Source software itself. I regard that as a (temporary) inconvenience, which dies not detract from the significant advantage it brings to the table.

8 July 2012

Iustin Pop: Thumbnails and other EXIF metadata fun

So, I was trying to write a script for myself to sanitise the EXIF metadata in images produced by my camera. I had a text file for a while with some tags that I should remove (like the camera serial number, etc.), but this became cumbersome and I wanted a fully scripted workflow. I thought initially it's a simple exercise: look at the current tags, decide either which one I wanted to remove (black-list) or alternatively keep (white-list; preferred solution) and then call exiftool with the appropriate options. Boy oh boy EXIF is just part of the equation. There are of course also the MakerNotes, which are manufacturer-specific and most of the time editable only as a block. Furthermore, there's no way to easily just duplicate each individual entry in this group to a standard EXIF or even XMP section, so basically you either keep to much or just give up a lot. Some of them can be copied to XMP, for example lens information, flash, etc. but white-balance (with the exiftool version that I have) is not, for example. Ideally I could just copy all maker notes to XMP, and then drop that entire group. For the record, the way to drop all and just copy some is to run:
exiftool -all= -tagsfromfile @ -Orientation -AllDates  other tags  file.jpg
But do not add "-makernotes", because that will bring the entire block back. The other fun thing is the number of thumbnails/preview images embedded. Looking at a random jpeg file, I found: Now, I doubt even the use of one thumbnail, but 3? And one being more than half a megabyte? Someone's going overboard at Nikon On the plus side, removing all thumbnails and sanitising the meta-data makes the jpeg files quite a bit smaller, which also means easier to share, at least; not sure if I want to actually clean the master copies (even though I keep the NEFs).

12 May 2012

Iustin Pop: Rant: webfonts, github, icons

Note: this is a rant. For year, I've browsed the web with Firefox set to Allow pages to choose their own fonts: no . It worked everywhere very well, and I had a consistent style across pages, and I wasn't forced to see the (IMHO) very ugly Microsoft-fonts look-alikes. That all changed until GitHub introduced their Octicons font, and represent icons with characters, instead of actual icons. Now I either am forced to: Grr At least they added text labels too, so at least I get a small box with F044 and label Admin .

8 May 2012

Iustin Pop: pbuilder and binary-arch packages

Just got bitten by this, so note to self: Yes, I'm talking about Debian bug #671981. Fun!

22 April 2012

Iustin Pop: Running: Z rich city run rain, rain, rain

This year was the 10th anniversary of the Z rich marathon, so they had a new category: 10km city run (at least, I think it was a new category). So I went along, thinking 10k would be a nice Sunday run. But oh, even the famed Swiss organisational skills fail some time. And when they fail, they fail hard. First, if you have 3 events all going on at the same time (marathon, team run, city run), please, please mark the road appropriately. The finish line was marked only marathon and team run, so I didn't even knew when I finished, I only realised well, that must have been it when I reached the place where I gave back the transponder chip. This marking issue was on-going for the last ~500-600 metres, as I thought I was lost when running along a road marked (again) only with marathon and team run and almost exited the road to look for my actual trail. Of course, if I had remembered that the finish is common to all three categories, all would have been good, but don't ask me to remember such stuff at the end of a race. Second, clothes storage. They had clothes storage organised nicely, in railroad freight cars, 500 people per car. This went well, except that they underestimated the number of people registering, so the last car had well over 700 bags, which created a huge bottleneck for this single car, which of course was where I also had the clothes (as I registered late). So I run for ~1 hour and then spend 30 minutes getting my clothes back. This wouldn't have been an issue, if the weather would have been fine. But it started raining seriously 500 meters into the race, and by the time I finished I was already fully drenched, just in a t-shirt (thanks fully with long pants) and waiting in the rain for 30 minutes was painful. I think also unhealthy, due to the abrupt switch from running to just standing in the rain. I haven't been so cold in a long while. By the time I got home my hands were shaking so hard I couldn't unzip my jacket (and I couldn't stop shaking, which is not a good sign). So yeah, I learned a few things. Try not to use the clothes storage if you can (it was the first time I used it), especially if you can pick up the stuff they give you a day early (and I could have gone to the race directly dressed) and I hope the organisers learned to provide better conditions just in case it rains. Which in Z rich happens, well, quite often. People were joking in the line: "1 hour running, 1 hour picking the clothes, 1 week sick". I hope I won't get sick (a hot tea after a hot bath can do wonders), but still, at least my voice will sound like after whole-night partying. OK, rant over. What about the race? It's nice (except the very dark overcast & rain, as said), through the centre of the city; as a friend says: Running on Bahnhofstrasse is cool . Otherwise, 10k seem to go quite quick nowadays . Having ~1,600 people all in red t-shirts was funny, especially if you're trying to look for friends. It was a very diverse crowd, you could see more varied people than in the other races (where more running-focused people seem to come); here there were all kind of people, children, teenagers, adults and so on, no per-category start or such. As to myself, I still am bothered by some small injuries, so I can't enjoy the nice result I got: 47m26.4s, for a 4m.44s/km! Yay! Of course, the reason I run so fast was because I was cold and needed to run to heat up. Also, again a flat race. I should start getting friends with hills. And due to the fact that it was a more diverse crowd, for the first time I didn't class (in my age category) around the ~66% down the list, but around ~44% only (~13 minutes slower than the winner). Yay!

15 April 2012

Iustin Pop: Running: GP der Stadt D bendorf 2012 and some stats

Another weekend, another running opportunity! This was a nice, simple, fast race. The announcer was claiming (if I understood correctly) it is the fastest race around Z rich: completely flat, on an airfield (which unfortunately meant all paved road). The weather was perfect (for running), a bit cold but no problems with overheating. So I managed my fastest time ever: according to the my Garmin (which for the first time recorded a slightly longer distance than the official one), I managed to run 10.18km in 50:39, which makes it 4:58/km! For the first time, below the 5:00 mark, yay! I'll ignore the official marking which claimed 10km in 50:57, since that ruins my nice result, hah! Back to earth however let's see some stats about this race. Just to put it in context: My current running speed is lower than the winner in the 70+ age category by a significant amount. Based on the graph shape, I would probably win at the 85+ category . Or to put it in a slightly different context, a cultural one. Back in my home country (Romania), a 70-year old person (especially male!) that is still able to move around well and to manage by himself is (most of the time) an exception. Of course there are many old men who are doing well, but in general old people are (usually) considered deprecated by this age. In comparison, in Switzerland, they are still active and are doing sport. And some of them, as you can see, doing it quite well. The difference between these two cultures in this regard (sport) is huge. Doing sports (except playing football) is considered something unusual, and in my home town there's a somewhat linear relation between people's age and their weight (both are monotonically increasing). When I first came to Switzerland, I was shocked to see so many people over 50 that are fit and active. Now, every time I go back to Romania, I'm shocked to see people so many people overweight and looking more than their actual age. I can't help but wonder what is the cause of this disregard for health or aversion to sports. Just the fact that "it's expected" for older people to be unhealthy? Is it somehow related to the difference in income/standard of life (I can't see a trivial connection)? Is it to lack of education about how to live a healthy life? Or maybe it's not a country difference, but rather the fact that I grew up in a quite small town; people in Bucharest are indeed looking more after their health than in my home town, and are therefore fitter. Who knows Anyway, rant over, and I'm still happy that I managed to beat my own record, thanks to a flat race and favourable weather!

3 April 2012

Iustin Pop: M nned rfler Waldlauf 2012

Last Saturday I went to another running event: M nned rfler Waldlauf, a run through very nice woods on the eastern side of Lake Z rich. It was a somewhat hot day (the race started at 15:20), and it was a bit more difficult than the last race, and just a tiny bit longer (11.5km); all this plus not enough training in the past two weeks resulted in me doing a worse time: 5:38/km according to my Garmin. At least, the race was my last run in March and it concluded/achieved my overall running goal for the month: 100km (was in fact ~107km). I known I have to raise this for longer races, but I'm not in a hurry I think I need a couple of months at this level before increasing the training level. Results aside , I really enjoyed the atmosphere of the place and the lively crowd possibly because of the nice weather. The run was also nice, both through woods and through open hills; the only small downside was crossing about four times circulated roads (of course, with traffic stopped when runners were crossing it). The view from the hills east of the lake is very nice, especially as one is nearing the end of the race. I'll have to see if at the next race I can improve my time it should be a completely flat city run, so I mean I can still blame the heat, right? And in somewhat related news, Garmin's training effect index is surprisingly accurate. It "knows" when I'm not pushing myself hard enough, and instead of a 4.5-5 (out of 5) score it just gives me a meh-level 4.0 or even 3.5. Quite nifty, using one's own conscience as motivation

4 March 2012

Iustin Pop: Nikkor 24mm f/2.8D

I'm still (ever) looking for the portable, somewhat lightweight photo system but with fast AF, adequate low light capabilities system. Also, I love prime lenses. I have a Nikon DX format camera, but none of the zoom lenses are what I want, and Nikon hasn't updated their wide primes. So I tried for a while a Fuji X100, which has much better ISO/noise results than my camera, but it focuses very badly in low light. What's the use of the low-light capability if you can't focus? So, after also fighting with the UI, I realised that the Fuji was not for me, and went back to my Nikon. And the first photo I took again with a DSLR was like Yes, this is what I expect: shutter half-press, instant focus, confirmation beep, shutter full-press, photo taken, ready for next one . Don't get me wrong, the Fuji X100 is a very nice camera, but it is not a DSLR; and I realised I wanted a portable DSLR, not simply a portable camera. What I did learn though from the Fuji is how good the 23mm (35mm FX equivalent) lens is for general , i.e. street photography. And it was also a prime. So after much head-scratching, I got myself a Nikkor 24mm f/2.8D lens. Yes, I know, it's the old 'D' type, the optics are the same for about 20-25 years, and it's not as sharp as the 're-issued' primes (not even close to the famous 35mm f/1.8 G DX), and it has lots of flare in direct sunlight (as common with wide-angle lenses). However it's a lightweight (270g), small (64.5 46 mm) and quite nice lens. And to be honest, I rather like the old-style distance scale (since it has lots of numbers!), so it compensates for the lack of AF-S. The only downside of the non-AF-S is that it wouldn't work on some of the DX bodies. As to the image quality actually a bit better than I expected. Here is a picture I took in Z rich, granted in perfect light. JPEG, straight-from-camera, just with EXIF data removed (click on the link for the original, full-size image; note that the camera was configured for the 'medium' size instead of 'large' you can see how careful I am when taking pictures: not):
Near Z rich Central
Settings were: I think this is quite good quality for a non-processed JPEG; and given how light the lens is, and that it can go down to f/2.8 (with more softness, though), I think this is quite good for a travel lens. And since I have a short trip coming up sometimes soon, I'll only take this lens, to see how it goes as an all-around lens. If it doesn't perform well, I can always blame my bad technique ;-) PS: I had to learn about the 'underlay' plugin in ikiwiki, as I didn't want to commit megabytes of basically read-only, binary data to git; it works well, so I'll be able to post more pics in the future.

3 March 2012

Iustin Pop: Laufsporttag Winterthur 2012

Today I went to the Laufsporttag Winthertur, another 11km run. Overall it was a smaller event (about a third of participants) than the Bremgarter Reusslauf; the organisation was OK, but you could see that it was smaller-scale. The big difference was that this was definitely not a flat course; the official course lists 150m gain in altitude, my Garmin recorded 220m (given that it has a barometric altimeter, and that the course was hard, I tend\^Wwant to believe the latter). The course starts with 50m of flat, and then up and up until you're in the woods, at which point it's a one third flat, one third down, one third up course; by the 8th km or so, you start the final descent (back to the starting point), and you simply go down and down for a long while, until the final (about 800m) flat distance. You can see a nice graph of the elevation profile here. I thought that since I'm not used to hills, I will simply go slower, and finish about 10 minutes later. However, I definitely underestimated the competition effect , and how much one can get into the spirit of the race . The end effect was that by the official timer, I finished about 1m30s faster than the previous race. I was so glad that the race was over that I forgot to press 'stop' on my Garmin ; also, it recorded only 10.51km (with the missing 500 meters all occurring in the last 2 km, I wonder what's up with these inconsistent numbers?). The final descent was so long that I managed to do kilometres 9 and 10 (according to the Garmin) at 4:34 each, which is something I definitely can't sustain (for 2km) on flat land. Speaking of the group run, it was nice that from about the 6th km until the end I have run in the same mini-group with two other people; it was helpful to have someone to follow/help you keep the pace (even though I finished last of this mini-group, ha!). This time I also had the heartbeat sensor, and I found out that I averaged about ~13 more bpm than in my training (flat) runs. So that's what running alongside other people does: it makes you push yourself (much) harder. On the cadence part, I was again averaging ~82 (times two), and for the last ~5 minutes I was running constantly at 83. Did I mention I like stats? One thing that surprised me on this hilly race was that most people kept about the same speed on downhill as on the flat parts; I wonder why, for me it seemed easy to go much faster (within the same heart rate). It is harder on the knees, so you have to be careful on how you set the foot down, but not that much that I would keep the same speed. Hmm And speaking of hilly races: one of the brochures I saw at the race was about this race: Glacier 3000 run, a 26km run with a nice 1,900 meters of gained altitude (starts at 1,050m and finishes at 2,950m). Basically, up, up and more up. Nice, but one would have to be quite crazy That's all, thanks for reading!

27 February 2012

Iustin Pop: doc-rfc update

Thanks to Thomas' help and gentle reminder, I finally managed to upload a new version of doc-rfc. Why is this noteworthy? It's not really, I just wanted to say: any package for which running lintian on it takes around 5 times the build time, is special .

26 February 2012

Iustin Pop: First running event of 2012

Today I had the first running race of 2012. Well, actually, it was my first race in Switzerland ever so double first. And, if I have to be precise, it was my first run with a shiny new Garmin 910XT; while I had it ordered for more than a month, out-of-stock and other delays converged such that I received the new toy the evening before the run. After getting it, I walked around a bit to confirm it's not DOA, read the manual, and hoped it's not too different in basic operation to my old Garmin. So a triple first. Also, (this is the last one, I promise!) this was the first time I ran with a foot pod (pedometer), so it was the first time I got actual cadence measurements. The run I went to the Bremgarter Reusslauf, which is an 11km flat run held in the woods near Bremgarten, a very very nice small town. I have never before visited it (even though it's quite close to Z rich), and I was pleasantly surprised by it. I should go sometimes back and visit a bit more. The weather was cloudy (and just a tiny bit foggy), a bit cold but not much. From this point of view, it was good running weather, but it detracted from the scenery. Otherwise, the course itself was very very enjoyable, I could have used a camera lots. At one point, in the middle of the (light, not dense) woods, the course passed beneath the arm of an excavator which was like a mechanical arch (in the middle of nature); at another point, we crossed the river, and the sight was so nice I had to stop myself from stopping and admiring the view . The course is marked as a 'flat' one, but I've read some blog posts saying that this is not entirely true, so I was prepared for 'the worst'. Actually, I found it to be surprisingly well behaved; even though the finish was near the start, it seemed to me to be 60% downhill, 30% flat and only 10% somewhat-uphill. Garmin 910XT I didn't quite know what to expect, upgrading from my Forerunner 205. I read the very nice review on dcrainmaker, but in practice I didn't know what to expect (review awesome, but soo detailed). The new toy seems more stylish, so I expected worse UI or behaviour. On the contrary, it worked very well; much more responsive to changes in direction/pace (my 205 used to delays tens before adjusting the pace, the 910 is very fast), and new minor features (like auto-lap) were nice (I was able to track average speed on each 1KM lap, very useful). It's a ++ on the upgrade, with the big downside that so far it doesn't seem to work under Linux . It also has a barometric altimeter, but I didn't calibrate it (explicitly); so while the absolute measurements might be off, the relative elevation changes were much more sane than with 205 (GPS is not too good at elevation changes, as far as I know). One funny thing about the delays in getting the device: before the race, another runner asks me (note: the conversation was in German, accuracy not guaranteed):
Is that the new Garmin? Yes, it is, just got it last evening. (showing me his identical watch) Ha! Me too, I got this only two days ago!
So yes, I think a few people were happy to get their new toy before the race. I also have now a heartbeat sensor, but as I never used one before, I didn't want to try it the first time during a race; so I skipped on that. The foot pod on the other hand is practically ignorable, so I took that along (sometime I think I run just because there are nice running toys ). As to accuracy, it was quite OK; it measured 10.86 km instead of the official 11 km, but most/all of the difference was in the first km of the run (inaccuracy while starting to run? who knows). I'll have to see how the watch performs while cycling (uh, I didn't do that in a long while) or swimming ( I didn't do that in an even longer while), but for running it's a good upgrade from my old watch. Results My normal run pace is about 6min/km, which is quite slow. So I didn't expect anything of the race, except to finish it. There were lots of people participating (> 2,600 in the main 11km category). I started slow, because I know I usually start too fast and get tired quickly. This allowed me to not feel the first, and only, significant hill, and after that it was or seemed all downhill (literally, I mean, not figuratively), so in the end I had (for me) a very good time. By the Garmin, I run 10.86 km in 59:01, to an average 5.26 min/km. By the official results, I had 11 km in 58:56, with a pace of 5.21 min/km. I have never before run 10k faster than 5:30, so I was very very happy. As for individual laps (1 km) as recorded by the Garmin: On the overall ranking, I ended up 362 out of 394 in my category. Hah! I'll try to remember this race simply for my own pace results, and ignore the ranking . Honestly I'm not sure how people can run twice as fast need to train more! The foot pod gave me a cadence of 83 steps per minute (average, max 88). This was quite surprising for me, I expected to be significantly below the much talked about 90 steps per minute. But anyway, I have lots of work ahead of me to improve my running speed. Overall, it was an excellent day, and I'm looking forward to the next races in/around Z rich. But I should be careful not to overdo-it, like I do whenever I get excited about something .

Next.

Previous.